package com.seafood.dto;

import lombok.Data;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 地址位置信息DTO
 */
@Data
public class LocationAddressDTO {
    
    private Long id;
    
    @NotBlank(message = "地址名称不能为空")
    private String addressName;
    
    private String province;
    
    private String city;
    
    private String district;
    
    @NotBlank(message = "详细地址不能为空")
    private String detailedAddress;
    
    private String postalCode;
    
    @NotNull(message = "纬度不能为空")
    @DecimalMin(value = "-90.0", message = "纬度范围为-90到90")
    @DecimalMax(value = "90.0", message = "纬度范围为-90到90")
    private BigDecimal latitude;
    
    @NotNull(message = "经度不能为空")
    @DecimalMin(value = "-180.0", message = "经度范围为-180到180")
    @DecimalMax(value = "180.0", message = "经度范围为-180到180")
    private BigDecimal longitude;
    
    @NotBlank(message = "地址类型不能为空")
    private String addressType;
    
    private Long businessId;
    
    private String contactName;
    
    private String contactPhone;
    
    private Boolean isDefault;
    
    private Boolean isActive;
    
    private String addressTag;
    
    private String remarks;
    
    private String countryCode;
    
    private String formattedAddress;
    
    private Integer geocodingAccuracy;
    
    private String geocodingSource;
    
    private String createdAt;
    
    private String updatedAt;
}